﻿//using Microsoft.EntityFrameworkCore;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

//namespace OpenApi.EntityFrameworkCore
//{
//    public static class DbContextModelCreatingExtensions
//    {
//        public static void ConfigureLogicApi(
//          this ModelBuilder builder,
//          Action<LogicApiModelBuilderConfigurationOptions> optionsAction = null)
//        {
//            Check.NotNull(builder, nameof(builder));

//            var options = new LogicApiModelBuilderConfigurationOptions(
//                LogicApiDbProperties.DbTablePrefix,
//                LogicApiDbProperties.DbSchema
//            );

//            optionsAction?.Invoke(options);



//            #region 框架基础

//            builder.Entity<AbpTenantForV1>(b =>
//            {
//                b.ToTable(options.TablePrefix + "AbpTenants", options.Schema);

//                b.ConfigureByConvention();
//            });

//            #endregion

//            #region 招财猫租户映射

//            builder.Entity<BaseQctSetting>(b =>
//            {
//                b.ToTable(options.TablePrefix + "qctconnectionsettings", options.Schema);

//                b.ConfigureByConvention();
//            });


//            builder.Entity<QCTGoodsSetting>(b =>
//            {
//                b.ToTable(options.TablePrefix + "qctgoodssettings", options.Schema);

//                b.ConfigureByConvention();
//            });



//            #endregion


//            #region 优惠券

//            builder.Entity<CouponMaster>(b =>
//            {
//                b.ToTable(options.TablePrefix + "couponmasters", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<CouponMaster4Cash>(b =>
//            {
//                b.ToTable(options.TablePrefix + "couponmaster4cashs", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<CouponMaster4Discount>(b =>
//            {
//                b.ToTable(options.TablePrefix + "couponmaster4discounts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<CouponMaster4GoodsExchange>(b =>
//            {
//                b.ToTable(options.TablePrefix + "Couponmaster4goodsexchanges", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<CouponMaster4RandomCash>(b =>
//            {
//                b.ToTable(options.TablePrefix + "couponmaster4randomcashs", options.Schema);

//                b.ConfigureByConvention();
//            });


//            #endregion

//            #region 支付方式

//            builder.Entity<BsePaymentWay>(b =>
//            {
//                b.ToTable(options.TablePrefix + "BasePaymentWays", options.Schema);

//                b.ConfigureByConvention();
//            });

//            #endregion

//            #region 零售单据

//            builder.Entity<RetailBillMaster>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ClientBillMasters", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<RetailBillOrderDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ClientBillOrderDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<RetailBillPayDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ClientBillPayDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<CouponPayLog>(b =>
//            {
//                b.ToTable(options.TablePrefix + "CouponPayLogs", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<CustomerCarePayLog>(b =>
//            {
//                b.ToTable(options.TablePrefix + "CustomerCarePayLogs", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<GraspPayLog>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ClientBillPayLogs", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberCardPayLog>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberCardPayLogs", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberPointPayLog>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberPointPayLogs", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectPayLog>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectPayLogs", options.Schema);

//                b.ConfigureByConvention();
//            });

//            #endregion

//            #region 品牌
//            builder.Entity<BaseBrand>(b =>
//            {
//                b.ToTable(options.TablePrefix + "basebrands", options.Schema);

//                b.ConfigureByConvention();
//            });
//            #endregion

//            #region 海报
//            builder.Entity<BasePoster>(b =>
//            {
//                b.ToTable(options.TablePrefix + "baseposters", options.Schema);

//                b.ConfigureByConvention();
//            });
//            builder.Entity<BasePosterStore>(b =>
//            {
//                b.ToTable(options.TablePrefix + "baseposterstores", options.Schema);

//                b.ConfigureByConvention();
//            });
//            #endregion
//            #region 商品库存
//            builder.Entity<BseMainGoods>(b =>
//            {
//                b.ToTable(options.TablePrefix + "erp_main_goodsstocks", options.Schema);

//                b.ConfigureByConvention();
//            });

//            #endregion

//            #region 商品

//            builder.Entity<BseProduct>(b =>
//            {
//                b.ToTable(options.TablePrefix + "BaseProducts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<BseProductCategory>(b =>
//            {
//                b.ToTable(options.TablePrefix + "BaseProductCategories", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<BseProductComponent>(b =>
//            {
//                b.ToTable(options.TablePrefix + "BaseProductComponents", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<BseProductParent>(b =>
//            {
//                b.ToTable(options.TablePrefix + "BaseProductParents", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<BseProductPrice4Store>(b =>
//            {
//                b.ToTable(options.TablePrefix + "BaseProductPrice4Stores", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<BseProductStandard>(b =>
//            {
//                b.ToTable(options.TablePrefix + "BaseProductStandards", options.Schema)
//                .Ignore(t => t.BaseProductComponentList)
//                .Ignore(t => t.BaseProductParent)
//                .Ignore(t => t.BaseProductStandardBarCodeList);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<BseProductStandardBarCode>(b =>
//            {
//                b.ToTable(options.TablePrefix + "BaseProductStandardBarCodes", options.Schema);

//                b.ConfigureByConvention();
//            });

//            #endregion

//            #region 分支机构

//            builder.Entity<BseBranche>(b =>
//            {
//                b.ToTable(options.TablePrefix + "BaseStores", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<BseBrancheCategory>(b =>
//            {
//                b.ToTable(options.TablePrefix + "Erp_Bse_Agency_Category", options.Schema);

//                b.ConfigureByConvention();
//            });

//            #endregion

//            #region 会员相关

//            builder.Entity<MemberUser>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberUsers", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberPerson>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberPersons", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberCardType>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberCardTypes", options.Schema);

//                b.ConfigureByConvention();
//            });
//            builder.Entity<MemberCardCategory>(b =>
//            {
//                b.ToTable(options.TablePrefix + "membercardcategory", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberCardTypeLevel>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberCardTypeLevels", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberCardTypeStore>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberCardTypeStores", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberMoney>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberMoneys", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberMoneyPay>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberMoneyPays", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberPay>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberPays", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberPoint>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberPoints", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberPointPay>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberPointPays", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberProjectConsumeTimes>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberProjectConsumeTimes", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberGroup>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberGroups", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberGroupMembers>(b =>
//            {
//                b.ToTable(options.TablePrefix + "MemberGroupMembers", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberGroupConsumeData>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ConsumeDatas", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberGroupConsumeDataDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ConsumeDataDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberGroupEssentialData>(b =>
//            {
//                b.ToTable(options.TablePrefix + "EssentialDatas", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberGroupListCriteriaObject>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ListCriteriaObjects", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<MemberGroupPropertyData>(b =>
//            {
//                b.ToTable(options.TablePrefix + "PropertyDatas", options.Schema);

//                b.ConfigureByConvention();
//            });

//            #endregion

//            #region 营销方案相关

//            builder.Entity<ProjectBrand>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectBrands", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMasters", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BirthdayGift>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BirthdayGifts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BirthdayGiftDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BirthdayGiftDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BuyFree>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BuyFrees", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BuyFreeDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BuyFreeDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BuyFull>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BuyFulls", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BuyFullDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BuyFullDetaills", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BuyFullGiftsCoupon>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BuyFullGiftsCoupons", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BuyFullGiftsCouponDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BuyFullGiftsCouponDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BuyGift>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BuyGifts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4BuyGiftsDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4BuyGiftsDetaills", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4Combination>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4Combinations", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4CombinationDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4CombinationDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4ConsumeGift>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4ConsumeGifts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4ConsumeGiftDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4ConsumeGiftDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4ConsumeGiftPoint>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4ConsumeGiftPoints", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4ConsumeGiftPointDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4ConsumeGiftPointDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4Discount>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4Discounts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4FullReduction>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4FullReductions", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4FullReductionDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4FullReductionDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4GatherConsumeGift>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4GatherConsumeGifts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4GatherConsumeGiftDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4GatherConsumeGiftDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4GroupGift>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4GroupGifts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4GroupGiftDetail>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4GroupGiftDetails", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4GroupSms>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4GroupSmses", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4N2SpecialPrice>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4N2SpecialPrices", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMaster4SpecialPrice>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMaster4SpecialPrices", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMemberCardTypeLevel>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectMemberCardTypeLevels", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectMemberUser>(b =>
//            {
//                b.ToTable(options.TablePrefix + "projectmemberusers", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectProductCategory>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectProductCategories", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectProductStandard4BuyFree>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectProductStandard4BuyFrees", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectProductStandard4BuyFull>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectProductStandard4BuyFulls", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectProductStandard4BuyFullGiftsCoupon>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectProductStandard4BuyFullGiftsCoupons", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectProductStandard4BuyGift>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectProductStandard4BuyGifts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectProductStandard4Discount>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectProductStandard4Discounts", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectProductStandard4N2SpecialPrice>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectProductStandard4N2SpecialPrices", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectProductStandard4Reduction>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectProductStandard4Reductions", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectProductStandard4SpecialPrice>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectProductStandard4SpecialPrices", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectStore>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectStores", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectPackage>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectPackages", options.Schema);

//                b.ConfigureByConvention();
//            });

//            builder.Entity<ProjectPackageCoupon>(b =>
//            {
//                b.ToTable(options.TablePrefix + "ProjectPackageCoupons", options.Schema);

//                b.ConfigureByConvention();
//            });

//            #endregion
//        }
//    }
//}
